import axios from "axios"

const instance = axios.create({
  baseURL: "devApi",
  timeout: 1000,
})

// 请求拦截
instance.interceptors.request.use((config) => {

  // if (token) { // 判断是否存在token，如果存在的话，则每个http header都加上token
  //   config.headers.myAuthorization = mytoken
  //   //　config.headers['Authorization'] = token;
  // }
  // if (!config.hasOwnProperty('showError')) {
  //   config.showError = true
  // }
  return config;
}, (err) => {
  console.log(err)
  // 发生错误做的一些事情
  return Promise.reject(err);
})



// 添加响应拦截器
instance.interceptors.response.use(function (res) {
  // 对响应数据做点什么
  if (res && res.data && res.data.success) {
    return res.data
  } else {
    if (res.config.showError) {
      //如何请求失败，开启了错误提示；进行提示
      window.$toast(res.data.msg)
    }
    return Promise.reject(res.data)
  }
}, function (error) {
  // 对响应错误做点什么;没有权限401，去登录界面
  if (error.response.status === 401) {
    window.$toast('登录超时')
    setTimeout(() => {
      // uni.switchTab({
      //   url: '/pages/home/home'
      // })
    }, 1000)
  } else if (error.response.status === 403) {
    window.$toast('暂无权限')
  } else {
    window.$toast('网络错误')
  }

  return Promise.reject(error);
});

export default axios